An ad hoc network typically includes a number of geographically-distributed, potentially mobile units, sometimes referred to as “nodes,” which are wirelessly connected to each other by one or more links (e.g., radio frequency communication channels). The nodes can communicate with each other over a wireless media without the support of an infrastructure-based or wired network. Ad hoc networks can also be self-healing. Links or connections between these nodes can change dynamically in an arbitrary manner as existing nodes move within the ad hoc network, as new nodes join or enter the ad hoc network, or as existing nodes leave or exit the ad hoc network. Due to the lack of a central controller, many network-controlling functions can be distributed among the nodes such that the nodes can self-organize and reconfigure in response to topology changes.
One characteristic of the nodes in such a network is that their transmission range is usually relatively limited in comparison to other networks such as traditional cellular networks. Each node can typically directly communicate over a short range with nodes which are a single “hop” away. Such nodes are sometimes referred to as “neighbor nodes.” When a node transmits packets to a destination node and the nodes are separated by more than one hop (e.g., the distance between two nodes exceeds the radio transmission range of the nodes, or a physical barrier is present between the nodes), the packets can be relayed via intermediate nodes (“hop-by-hop”) until the packets reach the destination node. Each intermediate node acts as a router which can intelligently route the packets (e.g., data and control information) to another node until the packets eventually reach their final destination. To assist with relaying of packets, each node may maintain routes or routing information to other nodes in the network and can utilize routing techniques to adapt to changes in the interconnectivity between nodes. The nodes can maintain this routing information by performing periodic link and topology updates. Alternatively, nodes may discover routing information only when needed, instead of utilizing updates to maintain routes.
Wireless networks may suffer from the same reliability problems as other physically unprotected media, which makes it difficult to successfully multicast data. Reliable physical broadcast mediums, such as Ethernet, do not typically have these problems. For example, in an Ethernet medium, all frames are physically broadcast on the shared medium and filtering is employed at the media access control (MAC) layer to create logical unicast and multicast services. That is, payloads can be transmitted, not just to all nodes sharing the medium, but to a specific subset of destination nodes sharing the medium. This subset may be a single node, or the entirety of nodes communicating over the medium. This is done by specifying a destination identifier in the MAC framing of the data which specifies the specific subset of destination nodes, rather than a single destination (as with unicast data). Nodes determine for themselves to which subsets they belong and, consequently, to which of these group identifiers they should listen. Specifying groups to which a node listens is sometimes called “subscribing.” Upon sensing frames to a subscribed group identifier, the MAC layer of the subscribing node accepts and forwards the data payloads to the node's network stack. Other nodes not subscribed to the group identifier ignore the data.
However, in a less reliable medium, such as some wireless media, a sender cannot be certain that a single transmission of data will reach even one node, let alone multiple nodes. To compensate for this lack of reliability, the MAC layer can acknowledge unicast transmissions and retry unicast transmissions for which acknowledgements are not received. The MAC layer typically lacks a reliable broadcast service, as there is typically no managed way to negotiate and keep track of multiple acknowledgments from the multiple destinations and further because the list of destinations may change rapidly and without explicit notification. As such, MAC layer broadcasts are also considered unreliable. Thus, a simple MAC filtered multicast system built on such a broadcast medium may still not meet the transport needs for the data services it carries. Furthermore, if the broadcast medium is a multi-channel wireless medium, it is even less reliable because some of the destinations may be tuned to a different channel at any given point in time.
Notwithstanding these advances, it would be desirable to provide improved transmission techniques to a node or group of nodes sharing a medium having unreliable broadcast transmission characteristics. It would also be desirable if such techniques consume less computing resources, power and bandwidth than conventional techniques.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.